# -*- coding: utf-8 -*-
"""
# @Time    : 2021/1/11 下午3:44
# @Author  : tgy
"""
import json
import ujson


def my_ujson_dumps(*args, **kwargs):
    ...
    print("use my_ujson_dumps")
    return ujson.dumps(*args, **kwargs)


json.dumps = my_ujson_dumps

"""
上面导入了 json，则会创建一个名称空间，在当前名称空间使用json这个key指向创建的名称空间
下面导入 其他名称空间时，如果发现里面导入了json这个模块，则不会创建新的名称空间，
直接在其他命名空间使用 import key 指向当前创建的json命名空间


"""
import monkey_patch



def test01():
    ...
    person = {'name': 'zhangsan', 'age': '21'}
    print(json.dumps(person))
    print(ujson.dumps(person))

    with open('./json_data.txt', mode='wt', encoding='utf-8') as f:
        json.dump(person, f)


def test02():
    person_json = '{"name": "zhangsan", "age": "21"}'
    print(json.loads(person_json))

    with open('./json_data.txt', mode='rt', encoding='utf-8') as f:
        print(json.load(f))


if __name__ == '__main__':
    ...
    # test01()
    monkey_patch.test01()